package com.example.onlinemusic.mapper;

import com.example.onlinemusic.model.Music;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

@Mapper
public interface LoveMusicMapper {

    //1.收藏音乐之前先查看该音乐是否已经收藏过了
    public Music findLoveMusicByMusicIdAndUserId(@RequestParam  Integer userId, @RequestParam Integer musicId);

    //2.没有收藏该音乐的话就可以插入该音乐到收藏表中
    public Boolean insertLoveMusic(@RequestParam Integer userId, @RequestParam Integer musicId);


    //查询用户收藏的音乐：如果没有传入具体的歌曲名，显示当前用户收藏的所有音乐
    public List<Music> findLoveMusicByUserId(int userId);

    //根据某个用户的ID和歌曲名称查询某个用户收藏的音乐，支持模糊查询
    public List<Music> findLoveMusicBykeyAndUID(String musicName, int userId);

    //移除自己收藏的音乐，但是不是删除音乐本身，只是从数据库中删除了记录而已
    public int deleteLoveMusic(int userId,int musicId);

    //删除音乐完善：当删除库中的音乐的时候，同步删除lovemusic中的数据
    public int deleteLoveMusicById(int musicId);
}
